package problem179;

//179.最大数
//https://leetcode.cn/problems/largest-number/description/

import java.util.Arrays;

class Solution {
    public String largestNumber(int[] nums) {
        String[] strs = new String[nums.length];
        for (int i = 0; i < nums.length; i++) {
            strs[i] = String.valueOf(nums[i]);
        }
        Arrays.sort(strs, (a, b) -> (b+a).compareTo(a+b));
        StringBuilder ret = new StringBuilder();
        for (String str : strs) {
            ret.append(str);
        }
        if(ret.charAt(0) == '0') return "0";
        return ret.toString();
    }
}

/*
排序规则：
a. 「A拼接B」⼤于「B拼接A」，那么A在前，B在后;
b. 「A拼接B」等于「B拼接A」，那么AB的顺序⽆所谓；
c. 「A拼接B」⼩于「B拼接A」，那么B在前，A在后；
*/